<?php
declare(strict_types=1);

namespace app\admin\service\sys;

use app\admin\model\Admin;
use app\admin\model\AdminRole;
use think\facade\Db;

/**
 * 后台管理员 逻辑处理 服务类
 * 列表 添加 编辑 状态改变等
 **/
class AdminService
{
    /**
     * 添加 角色组
     * uid用户标识:ad+id+5位随机数
     */
    public static function addAdmin($params)
    {
        $role = AdminRole::field('id,name,state')->find($params['role_id']); //获取角色组信息

        //id 大于0 时为编辑
        if (isset($params['id']) && $params['id'] > 0) {
            if(!empty($params['pwd'])){
                $params['pwd'] = MD5($params['pwd']);
            }
            //编辑
            $params['state'] = $params['state'] ? 1 : 0;
            $model = Admin::field('id,username,uid,state')->find($params['id']);
            if ($model) {
                $model->save($params);
                $model->Role=$role;
                return $model;
            }
            return false;
        }
        //添加
        $params['pwd'] = empty($params['pwd'])?MD5("123456"):MD5($params['pwd']);
        unset($params['id']);
        $model = new Admin();
        $params['state'] = 1;
        $params['nickname'] = $params['username'];
        //头像
        $num = random_int(1, 878);
        $params['avatar'] = 'https://js.baiyu666.com/tool/avatar/' . $num . '.png';
//        print_r($params);exit;
        $model->save($params);

//        print_r($model);exit;
        $model->uid = 'ad'.$model->id.random_int(11111,99999)  ;//用户标识:ad+id+5位随机数
        $model->save();
        $model->Role=$role;
        return $model;
    }
}
